package com.ylwl.datacenterdemo.entity;

import lombok.Data;
import java.util.List;
import java.util.Map;

/**
 * 表元数据实体类
 */
@Data
public class TableMetadata {
    /**
     * 表名
     */
    private final String tableName;
    
    /**
     * 表头列表
     */
    private List<ExcelHeader> headers;
    
    /**
     * 列索引到字段名的映射
     */
    private Map<Integer, String> columnIndexToFieldMap;
    
    public TableMetadata(String tableName) {
        this.tableName = tableName;
    }
    
    /**
     * 获取有效表头数量
     * @return 有效表头数量
     */
    public int getValidHeaderCount() {
        if (headers == null) {
            return 0;
        }
        return (int) headers.stream().filter(ExcelHeader::isValid).count();
    }
}